// 配置路由的地方
import Vue from "vue";
import VueRouter from "vue-router";

// 使用插件
Vue.use(VueRouter)

// 引入路由组件
import Home from '@/pages/Home'
import Search from '@/pages/Search'
import Login from '@/pages/Login'
import Register from '@/pages/Register'

// 配置路由
export default new VueRouter({
  routes: [
    {
      path: '/home',
      component: Home,
      meta: { show: true }
    },
    {
      path: '/search/:keyword?',
      component: Search,
      meta: { show: true },
      name: 'search',
      // 路由组件能不能传递props数据?
      // 1. 布尔值写法： 只能传params
      // props: true
      // 2. 对象写法： 额外给路由组件传递一些props
      // props: { a: 1, b: 2 }
      // 3.函数写法： 可以写params参数、query参数，通过props传递给路由组件
      /* props: ($route) => {
        return { keyword: $route.params.keyword, k: $route.query.k }
      } */
      props: ($route) => ({
        keyword: $route.params.keyword, k: $route.query.k
      })
    },
    {
      path: '/login',
      component: Login,
      meta: { show: false }
    },
    {
      path: '/register',
      component: Register,
      meta: { show: false }
    },
    // 重定向： 在项目跑起来时，访问/即定向到首页
    {
      path: '*',
      component: Home
    }
  ]
})